This invention relates to modular data processing systems, especially those of the microprogrammed type, in which a central processing unit (CPU) that has exclusive control of main storage may delegate special data processing functions (other than storage management) to one or more auxiliary processors, sometimes referred to as "outboard" processors, each of which is optimally designed to perform a given set of data processing functions efficiently and economically. Such auxiliary processors preferably are made available as add-on units to those users who may require these specialized services. For example, a system may be arranged so that the CPU delegates those operations that involve the use of floating point arithmetic to a separate "floating point" processor which has its own control logic for handling such operations.
The modular concept of system design briefly described above enables a data processing system to serve a broad class of users whose needs may vary widely. Where a user does not require the sophisticated capability of a floating point processor, for instance, he may purchase only a basic system which does not include a built-in floating point processor. If he later requires such a processor, it may be added as an outboard unit to his basic system. The fundamental problem is providing such a processor as an optional add-on unit is that to be practical, it should perform as though it were natively attached to the CPU; which is to say, its operations should be synchronized with those of the CPU so that both processors may execute their respective instructions under a common timing control, but at the same time it should avoid imposing an undue hardware burden. On the other hand, it should not be degraded to the status of an ordinary input/output (I/O) device. If the outboard processor has to operate completely in the manner of an ordinary I/O device, which can communicate with the CPU only in the customary asynchronous "handshaking" mode, then its operation will be too inefficient to justify the additional cost of such a processor. An asynchronous interface established through a conventional I/O channel may serve adequately for effecting transfers of data between the outboard processor and main storage, but when control information is being communicated between the CPU and the outboard processor, a synchronous interface is needed for efficient and economical operation of the system.